In order to manage costs and accessibility, data is typically stored in data stores with varying access times (e.g., latency). That is, some data may be stored in a limited capacity, high-speed, expensive cache, while other data may be stored in high capacity, low-speed, inexpensive remote storage. Various strategies have been used to predict what data should be stored locally, and when such data should be transferred from remote storage to the cache. Because the cache has limited capacity, preferably only a minimum amount of data is obtained in advance from remote storage to the cache.